using System.ComponentModel.DataAnnotations;
using System.Data.Entity.ModelConfiguration;

namespace RRHH.Models.Mapping
{
    public class CONTRATOMap : EntityTypeConfiguration<CONTRATO>
    {
        public CONTRATOMap()
        {
            // Primary Key
            this.HasKey(t => t.IDCONTRATO);

            // Properties
            this.Property(t => t.IDTIPOEXTINCION)
                .HasMaxLength(2);

            this.Property(t => t.CODIGOEMPLEADO)
                .HasMaxLength(10);

            this.Property(t => t.IDTIPOCONTRATO)
                .HasMaxLength(2);

            this.Property(t => t.FLAGCESADO)
                .HasMaxLength(1);

            this.Property(t => t.ESTADO)
                .IsFixedLength()
                .HasMaxLength(1);

            // Table & Column Mappings
            this.ToTable("CONTRATO");
            this.Property(t => t.IDCONTRATO).HasColumnName("IDCONTRATO");
            this.Property(t => t.FECHAINICIO).HasColumnName("FECHAINICIO");
            this.Property(t => t.FECHAFIN).HasColumnName("FECHAFIN");
            this.Property(t => t.IDTIPOEXTINCION).HasColumnName("IDTIPOEXTINCION");
            this.Property(t => t.CODIGOEMPLEADO).HasColumnName("CODIGOEMPLEADO");
            this.Property(t => t.IDPERSONAL).HasColumnName("IDPERSONAL");
            this.Property(t => t.SALARIORECIBO).HasColumnName("SALARIORECIBO");
            this.Property(t => t.IDCARGO).HasColumnName("IDCARGO");
            this.Property(t => t.IDESTADO).HasColumnName("IDESTADO");
            this.Property(t => t.FECHACREACION).HasColumnName("FECHACREACION");
            this.Property(t => t.VIGENTE).HasColumnName("VIGENTE");
            this.Property(t => t.IDTIPOCONTRATO).HasColumnName("IDTIPOCONTRATO");
            this.Property(t => t.FLAGCESADO).HasColumnName("FLAGCESADO");
            this.Property(t => t.FECHAEXTINCION).HasColumnName("FECHAEXTINCION");
            this.Property(t => t.ESTADO).HasColumnName("ESTADO");
        }
    }
}
